Applications
Let's discuss how you can apply first principles thinking in different areas.
From scratch genre#
My talk on Getting Closure on Hooks was cited as a “first principles” talk, as is the follow-up on Concurrent React. I think all talks and blog posts in the From Scratch genre, like this on React Router, this on Redux, or this on the hardware-software interface, are great first principles fodder. There’s even an entire repo on GitHub for building your own X projects!.
You can explain everything#
But of course, first principles can be applied far beyond code. The Drake Equation is a well-known first principles decomposition of the number of alien civilizations in our galaxy. You can explain everything from music to computing (to coding careers!) with first principles.
Systems Thinking#
More generally, a quantifiable set of first principles for any system is now in vogue as Systems Thinking, quoting Donella Meadows:
"PLACES TO INTERVENE IN A SYSTEM (in increasing order of effectiveness):
12- Constants, parameters, numbers
11- The sizes of buffers and other stabilizing stocks, relative to their flows
10- The structure of material stocks and flows
9- The lengths of delays, relative to the rate of system change
8- The strength of negative feedback loops
7- The gain around driving positive feedback loops
6- The structure of information flows
5- The rules of the system
4- The power to add, change, evolve, or self-organize system structure
3- The goals of the system
2- The mindset or paradigm out of which the system arises
1- The power to transcend paradigms"
When you are trying to change a system, and it feels too hard, a reliable trick is to find out where you are in Donella’s list and work your way downwards.
Ask questions#
I have in my head a set of other questions I also like asking.
What do people really want?#
Usually, it is something simple, but not easy. For businesses, this involves identifying jobs to be done. For people, Maslow’s Hierarchy is a good reference, as is the list of things you can’t buy, like happiness, freedom, time, health, wealth, family, purpose, and so on.
What are the physical limits?#
For example, the speed of light is a physical limit, but you can do thought experiments on the limits of Moore’s Law vs. Wirth’s Law or use Big O notation to model scaling factors of personal growth.
What are the units of output?#
Unit outputs are related to systems thinking, but this is a reductive method that has been very helpful in taking the hype out of tech startups and reducing Uber and Airbnb to driver miles and room nights.
What is your success metric?#
How do you know if you have succeeded? Starting with the end in mind is a good habit for productivity, but Christine Yen likes to ask this to help guide what Honeycomb.io does.
Who cares?#
Don Valentine’s cryptic two words test who the end customer really is and how much they care.
What are the rules of the game, and how are they changing?#
When you play any game, you first find out the current rules for winning, but you must also find out how the rules are changing to win in the future. This is called game vs. metagame.
In the software domain, Will Larson is a leading voice on how to apply systems thinking to engineering management.
Further reading#
Epistemology
Quiz Yourself on First Principles Thinking